// 导入美化时间器
import { replace } from './replace.ts'
import { ref } from 'vue'

const endTime = ref(new Date().getTime() + 2 * 60 * 1000) // 倒计时结束的时间戳
export const intervalId = ref(null) // 定时器 ID
export const message = ref('') // 显示倒计时的消息

// 自动关闭交易， 并禁止返回
export const countDownEnd = () : void => {
	uni.redirectTo({
		url: "/subdue/closeDeal/index",
	});
}

/**
 * 倒计时，
*/
export const startCountdown = () : void => {
	intervalId.value = setInterval(() => {
		const currentTime = new Date().getTime(); // 获取当前时间戳
		const timeLeft = (endTime.value - currentTime) / 1000; // 计算剩余时间（单位：秒）
		const days = Math.floor(timeLeft / 60 / 60 / 24); // 计算剩余天数
		const hours = Math.floor(timeLeft / 60 / 60); // 计算剩余时钟数
		const minutes = Math.floor(timeLeft / 60); // 计算剩余分钟数
		const seconds = Math.floor(timeLeft % 60); // 计算剩余秒数
		if (timeLeft <= 0) { // 倒计时结束
			message.value = '倒计时结束';
			countDownEnd();
			clearInterval(intervalId.value); // 停止定时器
		} else {
			message.value = `${replace(minutes)} : ${replace(seconds)}`; // 设置显示的消息
		}
	}, 1000); // 每秒更新一次
}